/******************************************************************************
 *  _____     _____
 *  \  __\    \  __\
 *   \ \_\\    \ \_\\
 *    \  __\SS  \  __\roject
 *     \_\       \_\
 *
 * Mateusz Maciąg, Rafał Urbański
 * Komputerowe Systemy Sterowania
 *****************************************************************************/

#include "ISimulator.h"
#include "SimEngine/SimulatorEngine.h"
#include "SimEngine/DiscreteObject.h"
#include <boost/smart_ptr.hpp>

using namespace std;

namespace RafMat
{
namespace SimInterface
{

using namespace boost;
using namespace SimEngine;

IConfigurableSPtr ISimulator::iDiscreteObjectToConfigurable(IDiscreteObjectSPtr obj)
{
    return static_pointer_cast<IConfigurable>(dynamic_pointer_cast<DiscreteObject>(obj));
}

IDiscreteObjectSPtr ISimulator::iConfigurableToDiscreteObject(IConfigurableSPtr obj)
{
    return static_pointer_cast<IDiscreteObject>(dynamic_pointer_cast<DiscreteObject>(obj));
}

}   // SimInterface namespace
}   // RafMat namespace
